/*
 * Copyright 2021 Huawei Technologies Co., Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */

package org.edgegallery.appstore.domain.model.appd;

import java.io.File;
import java.util.List;

public interface IAppdFile {

    /**
     * to load file.
     */
    void load(File file);

    /**
     * get the params after load file.
     */
    List<IContentParseHandler> getParamsHandlerList();

    /**
     * to string.
     */
    String toString();

    /**
     * delete one content by content type and value.
     * @param type IAppdContentEnum
     * @param value String
     * @return boolean
     */
    boolean delContentByTypeAndValue(IAppdContentEnum type, String value);

    /**
     * to check the file format by define.
     */
    boolean formatCheck();

    IContentParseHandler getContentByTypeAndValue(IAppdContentEnum type, final String value);
}
